#include <iostream>
using namespace std;
class Bonus {
public:
    int getMost(vector<vector<int> > board) {
        //保存每种路径的最优情况
        int res[6][6];
        for(int i=0;i<6;i++)
            memset(res[i], 0, 6*sizeof(int));
        res[0][0]=board[0][0];
        //动态规划
        //利用前面保存的结果 保证每个点都是最优
        for(int i=0;i<6;i++){
            for(int j=0;j<6;j++){
                if(i==0)
                    res[i][j]=res[i][j-1]+board[i][j];
                else if(j==0)
                    res[i][j]=res[i-1][j]+board[i][j];
                else
                    res[i][j]=board[i][j]+(res[i-1][j]>res[i][j-1]?res[i-1][j]:res[i][j-1]);
            }
        }
        //到终点的最优情况
        return res[5][5];
    }
};